package com.supervision.manage.mapper

import com.fly.base.mybatis.sqlprovider.SqlProvider
import com.supervision.domain.bean.po.SmsPO
import com.supervision.domain.bean.vo.SmsRecordVO
import com.supervision.domain.model.SmsRecord
import com.supervision.manage.mapper.sqlprovider.SmsRecordSqlProvider
import org.apache.ibatis.annotations.Mapper
import org.springframework.stereotype.Component
import org.apache.ibatis.annotations.Param
import org.apache.ibatis.annotations.SelectProvider

@Mapper
@Component
interface SmsRecordMapper {

    @SelectProvider(type = SqlProvider::class, method = "select")
    fun select(@Param("condition") condition: Any, @Param("otherCondition") otherCondition: String?): List<SmsRecord>

    @SelectProvider(type = SmsRecordSqlProvider::class, method = "getSmsRecordList")
    fun getSmsRecordList(@Param("po") po: SmsPO, @Param("limitSql") limitSql: String): List<SmsRecordVO>
}
